# iPaaS Portal 后端开发环境搭建指南
# 文档说明
在Windows11 64位操作系统中,基于JDK1.8.0_251、 EOS8.3.3、MySQL 5.7.33讲解源码环境搭建、编译及启动步骤,其他环境需根据实际情况调整。
# 获取源码
在ame+-》客服售后-》我的源代码申请页面发起申请,获取iPaaS Portal源码。
# 环境准备
# 1、安装JDK并配置环境变量
支持的JDK版本:OracleJDK 1.8.0_251、OpenJDK 1.8.0_382,请自行获取JDK介质并安装。
JDK的安装和环境变量配置按标准方式配置,配置好以后打开cmd窗口执行java -version命令,显示了
安装的JDK版本,说明JDK环境变量配置正确。
# 2、安装IntelliJ IDEA社区版
推荐使用已验证的2023.2.6版本,即Build:232.10300.40 从jetbrains的官网,下载对应版本的介质并安装,注意下载和机器的操作系统和架构匹配的介质 如:2023.2.6版本(Build:232.10300.40)
下载地址参考:https://www.jetbrains.com/idea/download/other.html
# 3、准备Maven相关资源
# 3.1、准备Maven工具
1) 使用IDEA里带的Maven3.9.2
2) 自行安装Maven,推荐版本3.8.5
# 3.2、准备settings.xml
从阿里云仓库拉取依赖,点击链接下载settings.xml:settings.xml
在IDEA中,点击右侧Maven - Maven Settings,在Settings界面 -> Build,Execution,Deployment -> Build Tools -> Maven关联settings.xml
注意修改settings.xml里localRepository的配置,配置为Maven本地仓库的路径。
# 源码导入、编译
1、源码导入 使用IDEA打开iPaaS Portal的源码目录,选择根pom,导入为maven工程
2、编译 执行Maven install操作,安装到本地Maven仓库,以便其它Maven项目可以引用它。
打印出BUILD SUCCESS,说明源码编译成功。
# 数据库初始化
获取的安装包(Primeton_iPaaS_9.1.0_Portal_Standalone.tar),解压后执行如下脚本:
- 以 Mysql 为例,创建编码格式为 UTF-8 的数据库 ipass。
- 在“Primeton_iPaaS_9.1.0_Portal_Standalone\db-scripts”目录下,按照数字顺序执行数据库脚本,具体顺序如下:
1. eos/Mysql/eos_all.sql
2. afcenter/Mysql/afc_all.sql
3. esb/Mysql/1-esb-afc-data.sql
4. esb/Mysql/2-schema-esb-mysql.sql
5. esb/Mysql/3-data-esb-mysql.sql
6. esb/Mysql/4-data-ipaas-connector-mysql.sql
# 配置修改
# 1、放数据库驱动
将数据库驱动jar包和方言jar包添加到项目依赖的lib下。
# 2、配置修改
在com.primeton.esb.governor.esbafcboot 模块下修改配置文件。
# 2.1、修改application.properties
打开application.properties文件,修改iPaaSPortal服务端口、redis、数据库类型及方言配置。
server.port=8080
server.connection-timeout=60000
spring.pid.file=pid
spring.profiles.active=nacos,afc,esb
spring.application.name=ESB
spring.jmx.default-domain=${spring.application.name}
spring.cloud.inetutils.preferred-networks=192.168
server.app-server.min-spare-threads=100
server.app-server.max-threads=500
server.app-server.max-connections=1000
server.app-server.accept-count=200
management.health.elasticsearch.enabled=false
spring.resources.static-locations=file:./webapp #前端静态资源路径
management.endpoints.web.exposure.include=hystrix.stream,health,info,loggers,eos,mappings
spring.main.allow-bean-definition-overriding=true
out.config.folder=config
eos.profiles.active=dev
eos.cache.mode=redis
eos.admin.port=${server.port}
eos.application.sys-code=EOS-DEMO-SYS
eos.application.sys-key=dc6baaed30e541d78bb91274803d9432
spring.session.store-type=none
# redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=123456
spring.redis.lettuce.pool.max-active=100
spring.redis.lettuce.pool.max-idle=100
spring.redis.lettuce.pool.max-wait=5000
# hibernate
spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.properties.hibernate.connection.handling_mode=IMMEDIATE_ACQUISITION_AND_HOLD
spring.jpa.properties.hibernate.new_generator_mappings=false
spring.jpa.properties.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect #默认mysql数据库方言
spring.jpa.properties.database=MYSQL #默认mysql数据库
spring.mvc.dateFormat=yyyy-MM-dd HH:mm:ss
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.serialization.write-dates-as-timestamps=false
#swagger
swagger.enable=false
# feign
feign.client.config.default.connectTimeout=2000
feign.client.config.default.readTimeout=1000
#AFC\u90E8\u7F72\u65B9\u5F0F sdk || starter
console.deploy.type=starter
#mock\u7AEF\u53E3
afc.console.mock.port=1080
参数 | 说明 |
---|---|
server.port | iPaaSPortal服务的端口,默认8080。 |
eos.cache.mode | 缓存方式,默认redis。 |
spring.redis.host | eos.cache.mode=redis时,需要配置redis的IP地址。 |
spring.redis.port | eos.cache.mode=redis时,需要配置redis端口。 |
spring.redis.password | eos.cache.mode=redis时,需要配置redis密码。 |
spring.jpa.properties.hibernate.dialect | 数据库方言类,默认mysql数据库方言,其它数据库参考:1.1 安装须知 的 数据库配置 章节的 方言配置。 |
spring.jpa.properties.database | 参考下方表格。 |
database类型对应关系
数据库名称 | spring.jpa.properties.database |
---|---|
sqlserver | sqlserver |
mysql | mysql |
uxdb | uxdb |
postgresql | postgresql |
oscar | oscar |
oracle | oracle |
opengauss | opengauss |
KingbaseES | KingbaseES |
highgo | highgo |
GBase8s | GBase8s |
GBase8a | GBase |
DM | DM |
# 2.2、修改user-config.xml
打开user-config.xml文件,修改数据库配置。
<group name="default">
<configValue key="Database-Type">MySql</configValue>
<configValue key="Jdbc-Type"/>
<configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue>
<configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/ipass?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false</configValue>
<configValue key="C3p0-UserName">root</configValue>
<configValue key="C3p0-Password">root</configValue>
<configValue key="C3p0-PoolSize">10</configValue>
<configValue key="C3p0-MaxPoolSize">50</configValue>
<configValue key="C3p0-MinPoolSize">10</configValue>
<!-- //seconds, 0 means connections never expire -->
<configValue key="C3p0-MaxIdleTime">600</configValue>
<!-- //idle connections never tested -->
<configValue key="C3p0-IdleConnectionTestPeriod">900</configValue>
<configValue key="C3p0-MaxStatements">0</configValue>
<configValue key="C3p0-NumHelperThreads">1</configValue>
<configValue key="Transaction-Isolation">ISOLATION_DEFAULT</configValue>
<configValue key="Test-Connect-Sql">SELECT count(*) from EOS_UNIQUE_TABLE</configValue>
<configValue key="Retry-Connect-Count">-1</configValue>
</group>
参数 | 说明 |
---|---|
Database-Type | 参考本章节的 database类型对应关系 小节 |
DriverClass | 数据库类型,根据实际环境修改。其它数据库参考:1.1 安装须知 的 数据库配置 章节的 驱动类名称。 |
Url | 访问数据库的JDBC URL,根据实际环境修改。其它数据库参考:1.1 安装须知 的 数据库配置 章节的 连接URL。 |
UserName | 数据库用户名,根据实际环境修改。例如:root |
Password | 数据库用户密码,根据实际环境修改。例如:111111 |
# 2.3、修改application-esb.properties
打开application-esb.properties文件, 修改elasticsearch相关配置:
非搭建源码环境的必须配置,运维门户监控数据相关功能需要连接ES。
#esb restTemplate
esb.business=true
esb.database.init=false
esb.database.enforceInit=false
esb.rest.client.socket.timeout=20000
esb.rest.client.connect.timeout=10000
esb.rest.client.connectionRequest.timeout=10000
esb.rest.client.evictIdleConnections=60
esb.rest.client.ConnectionTimeToLive=60
elasticsearch.enabled=true
elasticsearch.ioThreadCount=50
elasticsearch.connectTimeout=60000
elasticsearch.maxTotal=10000
elasticsearch.maxPerRoute=1000
elasticsearch.numberOfShards=1
elasticsearch.numberOfReplicas=0
elasticsearch.refreshInterval=10s
elasticsearch.username=elastic
elasticsearch.password=primeton000000
elasticsearch.certificate=C:\\Users\\s\\Desktop\\es\\http_ca.crt
elasticsearch.hosts[0].ip=127.0.0.1
elasticsearch.hosts[0].port=9200
elasticsearch.hosts[0].protocol=https
参数 | 说明 |
---|---|
elasticsearch.enabled | 是否启用ElasticSearch,默认为true。 |
elasticsearch.username | ElasticSearch 的访问用户名,默认为elastic。 |
elasticsearch.password | ElasticSearch 的访问密码,密码为安装elasticsearch时设置的密码 |
elasticsearch.certificate | ElasticSearch的证书,该证书为elasticsearch-8.1.2\config\certs下的http_ca.crt文件,文件位置需配置绝对路径 |
elasticsearch.hosts[0].ip | 配置成安装ElasticSearch的机器IP地址。 |
elasticsearch.hosts[0].port | ElasticSearch 的启动端口号。默认为9200。 |
elasticsearch.hosts[0].protocol | ElasticSearch 的http协议,默认https。 |
# 更新license文件
将项目中的license文件primetonlicense.xml替换为有效license,文件路径为:com.primeton.esb.governor.esbafcboot\src\META-INF_srv\primetonlicense.xml。
# 更新target
运行com.primeton.esb.governor.esbafcboot 模块下Maven clean、compile或install,更新target,确保修改的配置和license生效。
# 项目启动
1.运行com.primeton.esb.governor.esbafcboot 模块下的Application,启动iPaaS Portal。
2.启动后,查看日志,如下图则启动成功。